1. Field of the Invention
The present invention relates to a semiconductor memory device, and more specifically, to a bank switching control system in a semiconductor memory device equipped with banks.
2. Related Art
In recent years, as the speed of MPUs have increased, the demand for improved speed of semiconductor memory devices has increased, and various high-speed memories are proposed. Of these, there is a synchronous DRAM (dynamic random access memory), DRAM synchronizing the external clock, and there are cases in which the inner pipeline construction is employed as a means to achieve an increase in high speed (refer to Japanese Patent Application Laid-Open No. 6-76566; "Semiconductor Memory Device").
For a means to increase the speed, there is a case in which a plurality of memory cell arrays which have the memory cell array divided inside into so-called banks, and by independently controlling each bank, the precharge time inside the cell arrays is seemingly eliminated. By the way, there is a case in which banks are switched by detecting a specific address for control, and in such event, a specific address which becomes a turning point of bank switching is set as a bank switching address table immediately after the program begins to be run, and the address is monitored while the program is being run, and when the bank switching address is detected, the corresponding bank is automatically enabled (refer to Japanese Patent Application Laid-Open No. 1-140253; "Bank Memory Switching Control System").
Conventionally, this kind of semiconductor memory device is configured as shown in FIG. 1. Now referring to FIG. 1, the semiconductor memory device comprises:
a bank selection circuit 100 to which address signals and read command signals are inputted and bank selection signals .PHI.A and .PHI.B are outputted, PA1 the first and second memory cells 1, 2, PA1 a data AMP 11 for activating the data of memory cell 1 by the data AMP activation signal RPALA, PA1 an inverter INV11 for inputting the data AMP activation signal RPALA, PA1 a transfer gate TG11 for inputting the data AMP activation signal RPALA to the N type transistor gate, and inputting the inverter INV11 output to the P type transistor gate, in which the relevant transistor source connects to the data AMP 11 output, and the drain connects to the data line DA, PA1 a latch circuit 21 composed with the inverter INV21 which uses the data line DA as input and inverter INV31 which inputs the output of inverter INV21 and connects to the data line DA, PA1 an inverter INV 41 for inputting the bank selection signal .PHI.A, PA1 a transfer gate TG21 for inputting the bank selection signal .PHI.A to the N type transistor gate and the output of the inverter INV41 to the gate of the P type transistor, in which relevant transistor sources connect to outputs of the inverter 21 and the drain connects to the data line RWBUS, PA1 an inverter INV12 for inputting the data AMP activation signal RPALB, PA1 a transfer gate TG12 for inputting the data AMP activation signal RPALB to the N type transistor gate and the output of the inverter INV12 to the gate of the P type transistor, in which relevant transistor sources connect to outputs of the data AMP 12 and the drain connects to the data line DB, PA1 a latch circuit 22 composed with the inverter INV22 which uses the data line DB as input and inverter INV32 which inputs the output of inverter INV22 and connects to the data line DA, PA1 an inverter 42 for inputting the bank selection signal .PHI.B, PA1 a transfer gate TG22 for inputting the bank selection signal .PHI.B to the N type transistor gate and the output of the inverter INV42 to the gate of the P type transistor, in which relevant transistor sources connect to outputs of the inverter 22 and the drain connects to the data line RWBUS, PA1 a latch circuit 30 composed with the inverter INV301 which uses the data line RWBUS as input and inverter INV302 which inputs the output of inverter INV301 and connects to the data line RWBUS, and PA1 a latch circuit 40 for latching the data of the data line RWBUS by the latch signal RLAT.
The inverters 31, 32 of latch circuits 21 and 22 have buffer sizes such that they can hold the data of data lines DA, DB when the data AMP activation signals RPALA, RPALB are at the "Low" level, the transfer gates TG11, 12 are turned off, and when the data AMP activation signals RPALA, RPALB become "High" and transfer gates TG11, 12 are turned on, the inverters INV21, 22 are able to be easily switched in accordance with the output of the data AMP.
The inverter 302 of the latch circuit 30 has a buffer size such that it can hold the data line RWBUS data when all the bank selection signals are under the disable state, bank selection signals .PHI.A, .PHI.B are "Low," and transfer gates TG21, 22 are turned off, and can switch the data on the data line RWBUS easily in accordance with the output of inverter INV21 or INV22, when one bank is selected, one of the bank selection signals .PHI.A,.PHI.B is "high" and, one of transfer gates TG21, TG22 is turned off.
Now referring to the timing waveform diagram of FIG. 2, the bank switching control system shown in FIG. 1 will be described.
A specific address set is detected in advance in accordance with the relevant banks is detected and program the begins to be run. In FIG. 2, in order to enable the bank A immediately after the start of read action, the bank A selection signal .PHI.A becomes "High." By the bank A selection signal .PHI.A.uparw. (buildup), the transfer gate TG21 is turned on, and to the data line RWBUS which holds the previous read data, the data DA' corresponding to the data line DA is transmitted. In this event, the data AMP activation signal RPALA is "Low," and to the latch circuit 21, the data DAOLD from the previous data AMP remains latched, and to the data line RWBUS, the corresponding data DAOLD' is transmitted.
Thereafter, data AMP activation RPALA becomes "High" and as soon as the data AMP 11 is activated, the transfer gate TG11 is turned on and the memory cell data DA1 is transmitted to the data line DA. The data DA1 is transmitted as DA1' to the data line RWBUS.
Then, when the read AMP activation signal RPALA becomes "Low," the data DAl is latched to the latch circuit 21. At the timing in which the data DA1' is confirmed in the data line RWBUS, the latch signal RLAT becomes "High" and the data of the data line RWBUS is latched to the latch circuit 40.
Similarly, upon receiving the "High" of the next cycle of RPALA tCK after the "High" of the initial RPALA, the data DA2 from the memory cell is transmitted, and the data is transmitted as DA2' to the data line RWBUS by the inverter INV21 and with "Low" of the data AMP activation signal RPALA, the data DA2 is latched to the latch circuit 21.
In the next cycle, when the read action begins and other bank B is enabled, the bank A selection signal .PHI.A becomes "Low" and the bank B selection signal .PHI.B becomes "High." By the bank A selection signal .PHI.A that becomes "Low," the transfer gate TG21 is turned off, but by the latch circuit 30, the data line RWBUS holds the data DA2' in correspondence with the data line DA.
Then, the bank B selection signal .PHI.B becomes "High," the transfer gate TG22 is turned on and the data DB' corresponding to the data line DB is transmitted to the data line RWBUS.
In this event, the data AMP activation signal RPALB is "low," and to the latch circuit 22, the data DBOLD from the previous data AMP remain latched and to the data line RWBUS, the data DBOLD' corresponding to it is transmitted. Thereafter, the data AMP activation RPALB becomes "High" and as soon as the data AMP 12 is activated, the transfer gate TG12 is turned on and the memory cell data DB1 is transmitted to the data line DB. This data DB1 is transmitted to the data line RWBUS as DB1' by the inverter INV22.
Then, when the read AMP activation signal RPALB becomes "Low," to the latch circuit 22, the data DB1 is latched. At the timing in which data DB1' is confirmed on the data line RWBUS, latch signal RLAT becomes "High" and the data of the data line RWBUS is latched to the latch circuit 40.
In the conventional semiconductor memory device as described above, when read actions of different banks continuously take place, for example, when the read action of bank B is continuously carried out after the read action of bank A, as the transfer gates TG21 and TG22 of both banks are simultaneously turned on, each data collides against one another on the data line RWBUS, and destruction of the data on the data line RWBUS or through current, etc. occur, and the bank A selection signal .PHI.A becomes "Low" and after the transfer gate TG21 is turned off, the bank B selection signal .PHI.B becomes "High" and the transfer gate TG22 must be turned on.
If the time before the bank B selection signal .PHI.B becomes "High" after the bank A selection signal .PHI.A becomes "Low" is designated "Tmargin," in the conventional semiconductor memory device, Tmargin must be greater than 0.
When the bank B is enabled and the bank selection signal .PHI.B becomes "High," the latch circuit 22 continues to latch the previous data DBOLD from the data AMP, and to the data line RWBUS, the corresponding data DBOLD' is transmitted, and the data DA2 of the previous cycle is rewritten, and then, RPALB becomes "High" and the regular data DB1 is outputted.
Now, the time when the data DBOLD is outputted to the data line RWBUS is called "Tdelay." Tdelay depends on the time when the data AMP activation signal becomes "High" after the bank is enabled.
In this event, in order to prevent the initial data output of the bank B from being delayed, a margin is required before the data AMP activation signal RAPLB becomes "High" after the bank B selection signal .PHI.B becomes "High," delaying the "High" of the bank selection signal .PHI.B with respect to the "High" of the initial data AMP activation signal RAPLB and designating Tdelay to "0" means the delay of the initial data of the bank B and results in degradation of characteristics.
When the bank selection signal .PHI.B is accelerated with respect to "High" of the initial data AMP activation signal RAPLB, the initial data of the bank B is outputted by the RPALB "High" signal and no delay in data occurs.
However, since Tdelay &gt;0, the bank A final data DA2' on the data line RWBUS is shaved by DBOLD' and as against the original tCK for the data holding time, it becomes that T=tCK-Tdelay. Consequently, as the cycle time increases the speed, the holding time of the final data of the bank A is shortened, and the margin of the latch circuit 40 is unable to be provided.
In this way, when the "High" of the bank selection signal .PHI.B is delayed, the output of the initial data of the bank B delays, and when the "High" of the bank selection signal .PHI.B is accelerated, the holding time of final data of the bank A becomes shortened, and the data is unable to be latched at the time of high-frequency action; therefore, the rise (buildup) of the bank switching signal at the time of bank enable is carried out while the data AMP of the own bank is activated after the previous data on the data line RWBUS is latched by the latch circuit 40, and the fall (trailing) of the bank switching signal at the time of bank disable must be carried out when the enable signal of other bank becomes "High" after the data of the own bank is confirmed, creating a problem in that it is difficult to set the bank switching timing.